모의해킹
호스트기반모의해킹_25_FTP 취약점 공격
작성자 : Heehyeon Yoo|2025-12-07
# 모의해킹# FTP# FileUpload# Reverse Shell# Hybrid Attack
1. FTP 취약점 공격 개요
FTP(File Transfer Protocol) 서비스에 대한 공격은 주로 익명 로그인(Anonymous Login) 허용 여부와 쓰기 권한(Write Permission) 유무에 따라 결정된다.
단독으로 FTP만 공격해서는 시스템 장악이 어렵지만, 웹 서비스(HTTP)와 연계하면 파일 업로드 -> 웹 실행이라는 강력한 공격 벡터가 된다.
1.1 주요 확인 사항
- 접근 권한:
Anonymous로그인이 가능한가? 혹은 크랙된 계정이 있는가? - 쓰기 권한: 파일을 업로드(
PUT)할 수 있는가? - 경로 확인: 업로드된 파일이 웹 서버(Apache/Nginx)의 어떤 경로(예:
/uploads/)에 매핑되는가?
2. 공격 시나리오
- 익명 로그인:
ftp [Target_IP]-> ID:anonymous, PW:(아무거나) - 업로드 경로 확인:
ls,cd uploads등으로 쓰기 가능한 디렉토리 탐색. - 페이로드 준비:
- Kali Linux 기본 웹 쉘 활용:
/usr/share/webshells/php/php-reverse-shell.php LHOST(공격자 IP),LPORT수정.
- Kali Linux 기본 웹 쉘 활용:
- 파일 업로드:
put php-reverse-shell.php - 실행(Trigger): 웹 브라우저나
curl로 해당 파일에 접근.http://[Target_IP]/uploads/php-reverse-shell.php
3. 실무에서는?
- 파일명 난독화:
php-reverse-shell.php같은 기본 파일명은 보안 장비(IDS/IPS)나 웹 방화벽(WAF)에 즉시 탐지되거나, 추후 로그 감사 시 너무 명확한 증거가 된다.a83b1.php처럼 랜덤한 파일명을 사용하거나,image_upload_v2.php처럼 정상 파일처럼 위장하는 것이 좋다.
- 파일 정리(Cleanup):
- 공격 성공 후나 모의해킹 종료 시, 반드시 FTP를 통해 업로드한 파일을 삭제해야 한다.
- 권한 문제:
- 업로드된 파일이 웹 서버 권한으로 실행되지 않거나, 실행 권한(
chmod +x)이 없는 경우도 있다. 이럴 땐 웹 쉘 실행이 불가능할 수 있다.
- 업로드된 파일이 웹 서버 권한으로 실행되지 않거나, 실행 권한(